The present invention relates to image processing and more particularly to techniques for simulating blurring effects in images to be displayed to a viewer. A field of application lies in virtual reality systems in which synthetic two-dimensional (2D) images are generated from a parametric representation of a three-dimensional (3D) scene. The images to which blurring effects can be added may also be obtained from one or more cameras whose output is digitally processed according to methods as disclosed below.
There exist methods of putting blur into digitally processed images. For example, motion blur can be generated by combining different images of a moving scene in an accumulation buffer as disclosed in “The Accumulation Buffer: Hardware Support for High-Quality Rendering”, P. Haeberli and K. Akeley, Computer Graphics (SIGGRAPH 90 Conference Proceedings), pages 309-318, 1990. An accumulation buffer can also be used to create depth of field in a digitally processed image. In this case, the accumulation buffer integrates light traveling along different paths through the aperture of a simulated lens. A point which is out-of-focus will then appear blurred on the processed image.
Rather than combining several images to generate blur, other known methods use point spreading functions (PSF) respectively associated with the locations of the points or pixels making up a digital image. The blurred image is then calculated by means of a convolution operation between the original, usually sharp, image and the PSF which varies over the image. Mathematically, this can be expressed as:
                                          I            ′                    ⁡                      (                          x              ,              y                        )                          =                              ∑                          (                              u                ,                v                            )                                ⁢                                    I              ⁡                              (                                                      x                    -                    u                                    ,                                      y                    -                    v                                                  )                                      ·                                          PSF                                                      x                    -                    u                                    ,                                      y                    -                    v                                                              ⁡                              (                                  u                  ,                  v                                )                                                                        (        1        )            where I(x, y) and I′(x, y) denote the respective values at pixel location (x, y) of the sharp and blurred images and PSFx,y(u, v) denotes the value, for an offset (u, v) of the point spreading function as determined for pixel location (x, y).
Such a convolution method is capable of rendering a realistic blur if the PSF is accurately estimated.
It has been proposed, for example in EP 1 018 691 A1, to use it in an ocular optical system simulating method. In this context, a sharp image is first generated from parameters representing a synthetic 3D scene and a lens system simulated as being located in front of the viewer's eye. The first image includes distortions due to the optical correction provided by the simulated lens system. A PSF is then determined as a distribution of brightness on the retina originated from an object point. In order to evaluate the PSF accurately, it is necessary to divide the pupil aperture into a large number of small regions and to trace a large number of rays through a combined optical system including the simulated lens system and an eye model. The eye model may incorporate an accommodation capacity simulated for the viewer. Then the blurred image is calculated using an equation such as (1).
A problem encountered when practically implementing such a convolution method to generate blurred images is its complexity. Complexity arises from the number of multiplications and additions required by the convolution (1) computed for every pixel (x, y), and from the accurate estimation of the PSF using a sophisticated eye model. This problem makes it a severe challenge to accurately synthesize blurred images in real-time video applications having image refreshing rates higher than 10 Hz or so. This challenge may be addressed by using very important computing resources, but then the cost of the simulation system may become prohibitive.
There is thus a need for image processing methods using suitable approximations to make it possible to generate blurred images with a reasonable computational complexity in the context of simulating perception obtained with different optical lens designs.